Method for approximating with linear segments a curvature on a three-dimentional surface

ABSTRACT

A method of linear curve fitting is disclosed for use with a scanning apparatus which traces a curvature on a threedimensional surface and produces a plurality of sample points. A computer within the apparatus is responsive to the sample points and by executing the disclosed method selects a number of said points to define linear segments along the curvature. The linear segments are defined to approximate the curvature within a predetermined tolerance.

Umted States Patent 1 1 1111 3,771,168

Beach et al. Nov. 6, 1973 METHOD FOR APPROXIMATING WITH [56] ReferencesCited LINEAR SEGMENTS A CURVATURE ON A U TE S S PATENTSTHREE'DIMENTIONAL SURFACE 3,629,558 12 1971 Coggin 235 1511 Inventors:Robert C. Beach; Stanley L. Myers, both of Cincinnati, Ohio Assignee:Cincinnati Milacron, lnc.,

Cincinnati, Ohio Filed: July 21, 1971 App]. No.: 164,590

US. Cl. 444/1, 235/152 Int. Cl G06f 7/38, G06f 15/46 Field of Search444/1; 235/l50, 152 IE,

Primary Examiner-Eugene G. Botz Attorney--Howard T. Keiser et al.

[57] ABSTRACT A method of linear curve fitting is disclosed for use witha scanning apparatus which traces a curvature on a three-dimensionalsurface and produces a plurality of sample points. A computer within theapparatus is responsive to the sample points and by executing thedisclosed method selects a number of said points to define linearsegments along the curvature. The linear segments are defined toapproximate the curvature within a predetermined tolerance.

5 Claims, 7 Drawing Figures READ FIRST TWO SAM PTS STORE FIRST TWO SAMPTS TO DEFINE LIN SEG READ NEXT SAM PT '34 CAL L FROM NEXT SAM PT TOLINE OF PREV LlN S56 STORE SAM PT PREV TO NEXT SAM PT TO DEFINE A NEWLIN SEG PMENTEnxuv 61975 8771.168

COMMUNICATION a TERMINAL 6? 1 READ FIRST TWO SAM PTS STORE FIRST TWOfizz SAM PTS TO DEFINE LIN SEG READ NEXT SAM PT '24 CAL .L FROM NEXT fleSAM PT TO LINE OF PREV LIN SEG STORE SAM PT PREV To NEXT SAM PT TODEFINE A NEw LIN SEG a 8 I INVENTORS '6. ROBERT c. BEACH BY STANLEY L.MYERS ATToENEYs PATENTED rm 6 1915 SHEET 2 BF 5 READ x COORD &

SET Xo=x yo Y 20 2 0 O,YO 0) ENCODE READ mg 2 COORD To H6419 w METHODFOR APPROXIMATING WITH LINEAR SEGMENTS A CURVATURE ON ATHREE-'DIMENTIONAL SURFACE BACKGROUND OF THE INVENTION The inventionrelates generally to the area of curve fitting methods; andspecifically, the invention discloses a method of fitting linearsegments to a curvature in three-dimsional space within a predeterminedtolerance.

Since the advent of numerical controls for machine tools, the economicand efficient generation of input data for the control has been asubstantial problem. Recently, a number of scanning machines have beendeveloped. These machines scan the surface of the model representing theconfiguration of a finished workpiece and produce output data signalsdefining said configuration. The data signals can be in a form which maybe directly input to the numerical control. The problems of generatingdata signals for a numerical control are described in detail in US. Pat.No. 3,624,371, issued on Nov. 30, 1971 and assigned to the presentassignee. Applicants invention is concerned with a method for selectinga number of sample points along a curvature to define linear segmentsthereby approximating the curvature within a predetermined tolerance.There are several linear curve fitting methods found in the prior art.However, the prior art methods known to applicant are for twodimensional applications. In other words, a scanning plane ispredetermined in which curve fitting is executed. The extension of thetwodimensional method to a three dimensional application would requiresubstantially more complex calculations. Thus a computer of relativelysimple structure would not be practical. In addition, the inherentdisadvantages of slow execution time and unacceptably long records,which are inherent in many of the two dimensional methods, would also bepresent.

Applicants disclose a method of linear curve fitting that minimizes thedisadvantages of the prior art methods. Further, applicants methodimplements a unique calculation process that may be executed on acomputer of a relatively simple structure.

SUMMARYVOF THEUINVENTION The present invention discloses a method foruse with a scanning apparatus and a computer for approximating within apredetermined tolerance a curvature of a three-dimensional surface. Thescanning apparatus produces a plurality of sample points along thecurvature. The computer reads and stores two of the sample pointsthereby defining a first linear segment. Each linear segment determinesan axis of a cylindrical boundary having a radius equal to thepredetermined tolerance. The computer calculates an end point for eachsuccessive linear segment by selecting a final sample point on thecurvature lying within the cylindrical boundary.

BRIEF DESCRIPTION OF THE DRAWINGS FIG. I is a block diagram of theapparatus used to execute the disclosed invention.

FIG. 2 is a general flow chart showing the basic steps of applicantsmethod.

FIG. 3 is a diagram illustrating the vector relationships used inexecuting the preferred embodiment of applicants invention.

FIGS. 4a-4d are a detailed flow chart illustrating the necessary stepsof the preferred embodiment.

DESCRIPTION OF THE PREFERRED EMBODIMENT FIG. 1 is a block diagramillustrating a combination of elements that may be used to execute thedisclosed invention. A complete and detailed description of a uniqueembodiment of such an apparatus is contained in the earlier referencedU.S. Pat. No. 3,624,371. Further, the devices shown are commerciallyavailable, and a detailed discussion will not aid the disclosure ofapplicants method. The surface of a model 10 is traced by a scanningapparatus 12 which generates a number of sample points along thesurface. A computer 14 is connected to the scanning apparatus and inresponse to the sample points executes the disclosed method. Acommunication terminal 16, e.g., a Teletypewriter, is used to transferinformation to and from the computer 14. An peripheral device 18, e.g.,a tape punch, is responsive to the computer for storing the output datadefining the linear segments which approximate the curvature of themodel 10.

FIG. 2 is a general flow chart showing the basic steps of the disclosedmethod. Operation blocks 20 and 22 define the steps of reading andstoring the first two sample points, thereby defining a first linearsegment. The remainder of the method is cyclic in nature and is used todefine the other linear segments along the curvature. Operation block 24defines the step of reading another sample point into the computer.Next, block 26 requires the computation of the magnitude of aperpendicular from the other sample point to a line coincident with apreviously defined linear segment. Decision block 28 defines the step ofcomparing the magnitude of the perpendicular with the predeterminedtolerance. If the magnitude of the perpendicular is not greater than orequal to the predetermined tolerance, the process returns to the stepdefined by operation block 24; and a further sample point along thecurvature is detected. If the magnitude of the perpendicular exceeds thepredetermined tolerance, operation block 30 requires a sample pointimmediately preceding the present sample point be encoded. Hence, asecond linear segment is defined from the end point of the first linearsegment to the encoded sample point. Of course, the immediatelypreceding sample point would be within the predetermined tolerance.

It should be noted that the exact nature of the comparing step is notcritical. For example, within a computer, one can readily determine theresolution of a number of interest. Therefore, it would be possible todetect when the magnitude of the perpendicular is equal to thepredetermined tolerance, and the linear segment could be terminated atthat point. As earlier described, a presently existing linear segmentrepresents an axis of a cylindrical boundary having a radius equal tothe predetermined tolerance. The real object of the method is to selectthe final sample point on the curvature lying within the cylindricalboundary. This final sample point defines the end point of the nextlinear segment which in turn defines an axis of another cylindricalboundary. This process continues until the entire curvature has beenapproximated.

The question now arises as to how to execute the general steps of theprocess defined in FIG. 2. One could use trigonometric identities andequations or define a solution by simultaneously solving equations ofthe geometric elements involved. However, applicants have chosen avector algebra approach which is accurate and relatively simple thuspermitting the use of a computer having a relatively simple structure.Referring to FIG. 3, a curvature 32 on a surface in space is to beapproximated by linear segments defined by applicants invention. A firsttwo sample points, P and P,, 34 and 36 respectively are detected and afirst linear segment is defined therebetween. This segment defines anaxis 38 of a cylindrical boundary 40 having aradius equal to apredetermined tolerance. Successive sample points are tested to selectthe last one lying within the cylindrical boundary. The theory of thetesting process will be described with respect to sample point P 42. Letthe linear segment points 34 and 36 define a reference vector H. Next, atest vector 7 is defined between sample points 36 and 42. A vector Wrepresenting the perpendicular distance from the point 42 to the line 38can be determined by the following vector subtraction:

W F k 1 Further, we know from vector algebra that if W is perpendicularto k5, the dot product of W and k; is zero. Therefore,

MW ii) 0 W z7= O 3 Substituting equation (1) into equation (3) andsolving for k we have Kill Substituting the value the k into equation(l), we can solve for W by using the vectors E and v which areConsequently, we can readily solve for the magnitude of Wand compare itto the predetermined tolerance.

A detailed flow chart defining this method is illustrated in FIG. 4.Blocks 42, 44 and 46 require that the first sample point be read andstored. Next, as shown in Blocks 48 through 54, a second sample point isdetected and the square of the magnitude of a reference vector 17 from Pto P is calculated. Decision block 56 determines if the magnitude of thefirst reference vector E is zero. Calculations in later steps require adivision by the magnitude of the reference vector; and therefore itcannot have a zero magnitude. Further, it is desirable that themagnitude of the vector have an arbitrary minimum magnitude. If thereference vector magnitude is not greater than or equal to thepredetermined minimum value the process returns to block 48 to readanother point. However, if the reference vector magnitude is sufficient,block 58 indicates that the second sample point is stored therebydefining a first linear segment between the first two sample points. Bydefining the first reference vector and the first linear segment, afirst cylindrical boundary about the reference vector having a radius ofthe predetermined tolerance is also defined.

Blocks 60 and 62 require the next point be read and stored within thecomputer with no tolerance test being performed. With any curve fittingmethod, there exists a minimum approximation which is a function of theresolution of the sampling process. Consequently, after a linear segmentand corresponding vector having been defined, there is no value inperforming a tolerance check on the very next sample point. Becausethispoint represents the minimum possible approximation, one

may reasonably assume that this point is within the predeterminedtolerance. Consequently, the next sample point P, is stored within thecomputer, and a subsequent sample point P is read.

As indicated by blocks 64 through 70, a further sample point P is read,and a test vector 7 is calculated from the end point of the last linearsegment to the point P,,,,. In addition, the dot product between thetest vector and the reference vector is calculated. In the steps ofblocks 72 and 74 the components of a third vector are defined. The thirdvector represents the projection of the test vector Vonto a linecoincident with the reference vector E. Next, as defined in block 76,the vector components of a prependicular Wfrom the sample point P to anextension of a reference vector E are found by subtracting thecomponents of the third vector from the components of the test vector.

As earlier described, the magnitude of the perpendicular must becompared with the predetermined tolerance. The calculation of thismagnitude requires the execution of a square root which is inefficientwhen using a computer of a relatively simple structure. Therefore, asindicated in blocks 78 and 80, the square of the perpendicular magnitudeis compared with the square of the predetermined tolerance. If thesquare of the perpendicular magnitude is less than the square of thepredetermined tolerance, block 82 sets the coordinate values of thepresent point P into storage defining the previous point P,,, and theprocess returns to block 64 to read a new set of coordinates. If thesquare of the perpendicular magnitude is greater than the square of thepredetermined tolerance, a check is made in decision block 84 todetermine if the previous point, P, is the same as the end point of thelast linear segment. Again, this is required to make sure the processdoes not define a linear segment or a reference vector having a zeromagnitude. If for some reason, these two points are identical, block 82requires the point P be redefined by the coordinates of the point P andthe process returns to block 64 to detect a new sample point. If thepoints are not equal, it is safe to define a new linear segment;therefore, in blocks 86 through 92, the points P and P are redefined bythe coordinates of the points P and P,,, respectively. A new referencevector is calculated, and the point P, is stored. A new linear segmentis defined thereby defining a new cylindrical boundary. After redefiningthe sample point P, the process returns to block 64 where the nextsample point is read.

Appended to this specification is a print out of a program for the aboveprocess, the program represents one embodiment for directing theoperation of a scanning machine of the type described in the co-pendingapplication earlier referenced. The program is written in assemblylanguage for use on a CIP/2l00 computer commercially available fromCincinnati Milacron Inc. Pages 16 through 23 constitute a main programfor executing the curve fitting method disclosed herein. The program ispart of an overall computer program which controls all the operations ofa scanning apparatus as shown in FIG. 1. The omitted portions of themain program are relatively standard and are not necessary for acomplete understanding of the disclosed invention. Each remaining sheetof program defines a subroutine which is called out in the main program.The name of each subroutine is self-explanatory and is found in thefirst line of the comments section on each page.

While the invention has been illustrated in some detail according to thepreferred embodiments shown in to such detail. On the contrary, it isintended to cover the accompanying drawings, and while the preferredillustrated embodiments have been described in some all modifications,alterations and equivalents falling detail, there is no intention tothus limit the invention within the spirit and scopeof the appendedclaims.

$028 8.8:; $58 3523 NH 8 28% $3 $028 l zu ru na:MQMwZZ B,33:5 5..fl..:--,mo-:5fimr333 m.....---.:3oz8i- .888; 3 888 $8 1 @828 1.. 88;ua oggo w m m 302% .888.x 8 888 mi? Fozuw ume 1mE 25308 N =z i 88 8.x 82 8 9 $88? 38 9828 33 5 65 E 5E 2 55m 33 m8: N 8 3:; M 3 N828 EB 45 58is 58. 5.3 $2 HQZ 3 dmozuw -v :1: 8,-M ..x ,--.---..i-i-..,.r uw ;-w. w;r 5 .8.* 3 83 -30 205M -:----:------::-.,ZEBFEE m3 M32 o wm x mwgoou wf: w -mm mm fiozum 56$: 95 3 T- 2x 95 xJiEoSJ :5 $332 1N 523w .5. @Munmi2mfimfiwilfififieofimw m l wl 3 05m iii: i v 52 m3 30 2528 i.. v mt.1-211-...1:5:5,- 2. ------::----::------fig.i2 6--- I fmczuw -Zliil.XZH mwoo 323w 53 -w -m@ x5 3 33 @028 238 #5555 x2" 3 mwmo 393w m; 3 3%33 293w Lu- 1wF::E:-:::52B..-- 3:-:-:---:--:----::.wwewiflwei 7 a m 26wean :3 tt um -mw...ED .u!w uwh ,h w uzn wzo .---mbu. .-i--ilii.revltewfli. 3028 o u :33 Si Em but; 3:: out; 28 293w 1i. .EW Eo fiemlfimel.$02 3 Gm; "e851 :3 5 -03 38 M .l rein e-..:-.,:.-------::;.fivmiifi--.MQzwW E5 355:: 53 2; 3 -08 83 ill;B1wmii----ll---liiiiiii:.-zip-..,ltllillex eK n -wmwewwthwwmr: 335m 3533 M8: 23 83 NE 33 83 323 9 wzo3 88 53 mmwe 30 2% 25 $83 $8 838 2533 51% 33 ez mofi ee -mo -55 3 302 8..--m -m@ .@---w.@: 8 Q z$ 4 325 win 325 5 on; 88 2 2 5: 623 555 6 0 WSS Be wrm we; who 393w :3 3 gmw V. 6: 23 5x :MDIOZDM .1-.4311,111-11,iii..iiii flit. 0 m zommxm; 0-ma fim ,-fiwfiewzBnPfizfiwm-Q mo k @380 G8 4 328 28 E2 fifi dfld 3323 .xmm :fiiwfimi 523 3 a Q x uQ in 1521 2S 23$ 38 $28 xdou fi 3% 33 8 323m :65 x3 38 5S .M E 5 22.fifi.. koFakfiw zm ---m @228 552 N6. 321?: "5 a .28 99; 8 E13 38 R28 3;3 xmwm xx r Q S. m "675 5. i M -wfiza: E 52 $28 5.3 5 38 83 38 m $5 25wu wmwg E E Wm 5w Sro mm I $28 53?: E2 :5 523 92$ 22 ".330 S S EQm wMKZEnDL .28 E a: :UEME P: H $23 So .5 2pm 5; 3 38 m 528 xuo wi uwwo m328 -6 5 mfiuil fi ll $28 525225 z2Z-3 zoz 562 25 28 $83 38 W W -wizum.$5 33 3 .23 ----.-.UM .w. -:.m.p: $58 2: 2% 3 82 3B 7 :NEZUM 8 x. 8 :wob :wFPx w $28 $.65 20 n 353 m0 =55: z; .88; 3 88$ 28 km 0328 .3 2;. 5 un :fl mmmowo wwplm v @228 523 25:; SZEWQ 31 2 2 096% $8 7 -Ewfizfi z 2 kwfii R23 :3 S 2.8 Ml .mQzum .;i wx, 9. 5 G ixi 1: -mm .m. -:mm%:- 323 Nn S u S x a S Gm 528% 25 28$ -08 28 i 63 :5 1 oww w umg $23 :53 x3 38 mfiuhwmEpmli. :Pr%:w. .@,8 -Pzofiw 1%. 2%.. :mpiumfi.-- linmwzum:mmwmgflawfimu--mkn mvzfebumnu --M@----. l-. w- Ma 022 mmo wowo 5 .wmo 83% $8 52% M58336 5:; 53 6 336; 326:. 8 3%.: $3 35 32 @3518. 5 5:: 31%.;5 En .8 B o 3.. bog wfim W33 5:: 13 526 N 22 x we 5932 but; 8 $252 8:;28 m 952 :8 3.----::::--::- imp---wfimiziii-2555M?,m a; 222? SP 32% 3 12diw m o lllzvo ww -52: 3 $w W 323 52 3 S8 mfir 3 W --:--,-.-.,ok-.z.um5.5 ,rfiwiw L 032% .88; 8 88 -30 W -pg L 52% 3Q Q YJGQ W W18 3:53 Emwdzou To: 39 LG 8.3}! 328 19;: 3 ommw fiwo :SNZB $3----E----:----:-:-::---EMBE.53%--- 03 23 25 3 33 :3 A -.-.:.-v z.um ...E.c.l.lmEHMEMmwuo.-fimgzzufiz .f wi mfiifimoih 2.28 .88; 3 8: SEQ -5 m EFL@328 fidizxoz l .35. 52 5 mi 63 W 5:1-. 22umi-:::-:---::Lm%zu :3.m m-58% 1 Q5 :tdmnmwim pz 528 323%? zoC -3 oz .23 2 5. wmmowa 28::.i.m3zDMZ:---:-::-:::MKEmma.m5.o .n 89 p..-:x@ 6---.m03--- -Zz8 .32:5;: 3 $2 38 558 53m 4 53 0328 33m 52 -80 328 .22: :3 ZH Z 5;: 5 IS 5-1-:----:---::---::Efifiw:ESE 2:23 xfiwo 3:: 33$ 53 v8.2.3 iii; 2% m: 33$8 $28 I: 5 $2538 x389 25 233 $8 J zmfizum 8 M,:\. mm. wmwfimiwkm---2228 x555 23 83% $83 $8 ;:.-.3zum E 5- S .---BE:- 328 ES 5 Q21 212.8 bi1 337mm 8oo.x 8 8 3 $5 2.28 .22: 35533 .83; -23 089m 85 256?BzEwP.--v.:::;---.. :-::--:---:---::Rifl ---BE-:. 58 38 E2 E3 E3.wflafi $.58 N n x u -x 5w x655 2.5 35 :23 .2968 25 38 33%. SE m 223 :55x3 36 38 W a :FEP :EEB .-PEEE :wmuizzmw 03:3 o 2: $3 38 w @323 :5 n 9353555m 953 5w r Em NEb. m

c m zsm wwwz uw 26 SNZQW 5 M3 33 E 32% oz: 25 wngi w d w :wm-z m ,wzfbom zeiiwfi oz :fi zzxfim :wmmmwwlmmmpL 2528 3:3 138:7: xmz wzZfiGn ":3:RE 26% G3 NzlUW 08m 25 $3 38 SNZUW 56 33 fizUM---------:-----::fihrfi:fi. .wbimx- 2.-5m.------..-,---,..x z8wm 3 .-------:------..------m E 12.2.8 3 2 Q n 22.3 Gm 155 $5 23$ 33 ifE.-zum-5-1-5:----iiritti,-2.........--------i1----xi u... 1 .---..----------I-50.5 wimuwoi thzum Su 3 2 u 8 Z n ox 5w xfimfu t; 835 33 328 x2 3 26 Q3 wmwm wrnm 65 x3 33m9 m $3 E n.-::----:---::::---mm:F586: 3135 32 3%; 4 2 9538 52 $2 $3 :xm::------:---:-:::::13---wmw I u 2 38m $2 33 58 m 12 $8 Q33 58 .2550. 232.25m 58 2.2% 355 5% M5350 :33 x3 68o 3 3 23 2.2 3 fiuw 221 iii.$15.11-. w fiq 3 23 3% 52 E3 :3 W 2.26m f xxw wfi fiwd -E..-83-2-------:--::-:m mw-sfi w mm Q MWBM x 3". 1?; 2.26. M43 $2.3 X 32 16Saw $3wm o 2 Ew-w m3 Sum 33 M28 m -zuw o -uw z xz wwd n dwnu K 5; 83 M355 -30; 25 52mg hzwzozou z o h mu o i wono mwmwi -30; .ooom x 55 oooms3M5 5% Q13 $8 .8 :::-:-..88 -23 .83... 3 ogqwm mwnqi 3o wwwo -zuw 33 nhzwzwdzou $9 30 Qmmo Q35 28m zqz 83 2:3 G-z8 .152; :3 3 233w 23 1 3:76V2550. 3 n d op ww zmo w -;u6 1 y 1 65 .23 9 m 30 W 3;6 :5 n 3553 555m$42358 mm 5.3 23 4303 U zmum fi 3 E :3 W 81.3 3 E 5.) :3 33:6 E .35. 581m3 5 33 F 23 m H 25 36m 33 n 32%. 23 23 wgm fimu F0336 35 5 33wZMC355::--::..--. w d 3 @N W 38 32; E3 3 M33 33 -5336 B zZmE 59? wSm Emm s w fimo 353 @539 85%;. U333 58. 55 5a 5: 8 33 317 .1 26 I 3 o2. 3063 2:10 555m 536 12. 3 3 v 26 l monuzw @3 5. 8 3 26 u 35B 335 3 fia u8w m om@ F 35 iufiubganmp.w PEFQE, m CM-------:- -:wmfiu.--. 2 03 mo 93".25:; 827mg M5550 Em m o 5 SE Mono IBE I 1-1 ii 15. i [t3 I 3. I ...w;o..w|-, o 81:5 25:; 32:2. 33:6 .55 51C Q 22 82 Como 1 m3 3 :EGEEAD a 235Q 25 95m 33 f3 3 fiok i. 3 2 .HI gn mw M M335 M5350 5:: G5. it .x .88; 8Q6 83 $3 33 5 mzr w QQQP S MI; l .8 9a It W 3:8 555; 655 2:2 $3 13 T0835zo Eu: wz3o 327mm w 25 :QBmENMEO 9.836 23 wz3o $2750 3. W26 53 26 5 829:6 5,3035 123.2: -.%.m w w H 2636 c a 5:3 22 Q E2 E3 33 33% 5:3 32 5553E3 S 33 $33 :1: :3: :2 523x08 2V2 Q 9 "53 $3 1: a r I I ..-Q :23-mwfimv:w .im 32$ 2:3 :3 n32 1o 33.8%8 32 :6 02 33 $3 .x, fi:wmmfiwzumaw $9 35 .1963 25 3 3mm $3 33% m lllhzaouafixmlwwl EB.. .-1.-33 9? 2335 5m 3 83 2836 x35 53:; SE $6 1. 8 635 03c 3 wgzum =3 8N5 5m we33 :b wzum k69 i. 2 95 3 20: 1 -e--w m-----::::m m%ww-1 @328 6 oz 6 :8T2: E5: 25 38$ 83 :53 5555 x7: i h C252 Cm .3 :3 3:; H 3 S- u$o :iozmZtGwz muoz zg w z Si 26 5252 xi 3 33 {302 52 3 33 23oz 52 3 :3 vmzhzovwfifiu i -m -:-w-.m@. C962 33 3 5 :3 Kim 3 12 2oz S 13 .1232 .s z..,-.:hfiwwicfi. 33oz o u v. Gm 33m 25 $83 $3 3502 o n 53 $62 2 83 U30 33oz$3 3 n 25 2oz E2 #52 $2 $3 $2 .2 .S x.:-- B :83 -wwm 33oz .83; c 8272 $3s F822 =8 -m 3262 #55558 99; 8 $8 lwmmmn 262 722 53 $3 3252 3 m6 0263252 $32953 2222 :53 i 8 56a 88 $3 W zwwfig. 2: S.. 3-150%. -x mo.:::-395: 555. E6: 15 83 33 m -bmfi a.

. 3. 5 -%-----.S i. 5:5--- fi v8.25 3%: 1.2: 555 5 "6 B89; 50 5 53 3 53$3 2: .9 :33 2 52 $2 mmo E: 5:8 c3553 53 -20 h 3.96: ,PUDQDELEPH 131.315 i firzu m M 395: 53: 3 83 $8 .EiES -xibw .3 -u, w@.:w -m.@-::: 22.9552:3 "662T: .2330 25 U53. -26 IQEQ: -5 ,5 3 .QQ am :98: m2: zo 3 2; 2.2335i 33% ESE. 3 33% -26 :33? m h 5 2:3 2 v2 53 233 KSHZQEQ mmowww ummp395: m u :58 5w ram. 3 38 3--.$8---::-:-:-:-------:-:-:--.:zrgflmmfifitpf I Bfi---mmmm $95: .88; 888 $3 .Iww .fimo x ia 38"; 3 3 39:5 AE 3 23 ifinbi:.

:zfiBEE ,.E .,B i. EB}: 5-52:6 ,mmmwzrl 3:58 Rz man o 020 U .--.Q-;% -152 .B--. .:.-L 5:10 42w r 33 M 3:35 3 2 2 u 513 Gm x5550 2 5 233. 33 h

1. A method for utilizing a programmed computer and a scanning apparatusto approximate a curvature of a three-dimensional surface within apredetermined tolerance, the method for operating the scanning apparatusand the computer comprising of the steps of: a. scanning the curvatureof the three-dimensional surface to produce a plurality of samplepoints; b. storing a first two sample points to define a first linearsegment therebetween; c. computing for a successive sample point themagnitude of a perpendicular from the successive sample point to a linecoincident with a previously defined linear segment; d. comparing themagnitude of the perpendicular with the predetermined tolerance; e.iterating steps (c) and (d) to detect a first of the successive samplepoints having a magnitude of the perpendicular in excess of thepredetermined tolerance; f. storing a final sample point detectedimmediately prior to the first of the successive sample points therebydefining a successive linear segment from an end point of a previouslydefined linear segment to the final sample point; and g. iterating steps(c) through (f) to define further linear segments thereby approximatingthe complete curvature of the three-dimensional surface.
 2. A method forutilizing a programmed computer and a scanning apparatus to approximatea curvature of a three-dimensional surface within a predeterminedtolerance, the method for operating the scanning apparatus and thecomputer comprising the steps of: a. scanning the curvature of thethree-dimensional surface to produce a plurality of sample points; b.storing a first two sample points to define a first linear segmenttherebetween; c. calculating a reference vector coincident with apreviously defined linear segment; d. calculating for a successivesample point a test vector from an end point of the previously definedlinear segment to said successive point; e. computing for the testvector a third vector defined by a projection of the test vector onto aline coincident with the reference vector; f. subtracting the thirdvector from the test vector to produce a difference magnitude; g.comparing the difference magnitude with the predetermined tolerance; h.iterating steps (d) through (g) to determine a first sample point with acorresponding difference magnitude in excess of the predeterminedtolerance; i. storing a final sample point detected immediately prior tothe first sample point thereby defining a successive linear segment froman end point of the proceeding linear segment to the final sample point;j. iterating steps (c) through (i) to define further linear segmentsthereby approximating the complete curvature of the three-dimensionalsurface.
 3. A method for utilizing a scanning apparatus providing inputdata signals to a computer programmed to produce a plurality of datapoints to a peripheral device being operative to permanently store thedata points, said data points defining linear segments approximating acurvature of a three dimensional surface within a predeterminedtolerance, the method comprising the steps of: a. moving the scanningapparatus in three dimensional space over the curvature to generate afirst set of input signals representing coordinate values of a first twodata points; b. storing the first set of input signals in the computer;c. operating the peripheral device to permanently store the first set ofinput signals thereby defining a first linear segment between the firsttwo data points, said linear segment representing an axis of acylindrical boundary having a radius equal to the predeterminedtolerance; d. moving the scanning apparatus over the curvature togenerate successive sets of input signals representing coordinate valuesof sample points; e. calculating in response to the first set of inputsignals and each of the subsequent sets of input signals an outputsignal representing a successive data point, said successive data pointcorresponding to a final sample point on the curvature lying within thecylindrical boundary; f. operating the peripheral device to permanentlystore the successive data point thereby defining a successive linearsegment between an end point of a previously defined linear segment andthe successive data point, said successive linear segment representing asuccessive axis of a cylindrical boundary having a rAdius equal to thepredetermined tolerance; and g. iterating steps (d) through (f) togenerate the plurality of data points defining the linear segments forapproximating the curvature of the three dimensional surface within thepredetermined tolerance.
 4. A method for utilizing a scanning apparatusproviding input data to a computer programmed to produce a plurality ofdata points to a peripheral device being operative to permanently storesaid data points, said data points defining linear segmentsapproximating a curvature of a three dimensional surface within apredetermined tolerance, the method comprising the steps of: a. movingthe scanning apparatus in three dimensional space over the curvature togenerate a first set of coordinate values of a first two data points; b.storing the coordinate values of the first two data points in thecomputer; c. operating the peripheral device to permanently store thecoordinate values of the first two data points thereby defining a firstlinear segment therebetween, said first linear segment representing afirst linear approximation of the curvature; d. moving the scanningapparatus over the curvature to generate successive sets of coordinatevalues of successive data points; e. calculating in the computer usingthe coordinate values of both the first two data points and eachsuccessive data point the magnitude of a perpendicular from a successivedata point to a line coincident with a previously defined linearsegment; f. comparing in the computer each perpendicular magnitude withthe magnitude of the predetermined tolerance; g. detecting in thecomputer a final perpendicular magnitude closest to but less than themagnitude of the predetermined tolerance; h. operating the peripheraldevice to permanently store the coordinate values of a final successivedata point corresponding to the final perpendicular magnitude, saidfinal successive data point defining a successive linear segment from anend point of a previously defined linear segment to the final successivedata point; and i. iterating steps (d) through (h) to generate theplurality of data points defining a number of linear segmentsapproximating the curvature of the three dimensional surface within thepredetermined tolerance.
 5. A method for utilizing a scanning apparatusproviding input data to a computer programmed to produce a plurality ofdata points to a peripheral device for permanently storing said datapoints, said data points defining linear segments approximating acurvature of a three dimensional surface within a predeterminedtolerance, the method comprising the steps of: a. moving the scanningapparatus in three dimensional space over the curvature to generatecoordinate values of a first two data points; b. storing the coordinatevalues of the first two data points in the computer; c. operating theperipheral device to permanently store the coordinate values of thefirst two data points to define a first linear segment therebetween; d.moving the scanning apparatus over the curvature to generate coordinatevalues of a successive data point; e. calculating a unity referencevector coincident with a previously defined linear segment; f.calculating a test vector from an end point of a previously definedlinear segment to the successive data point; g. computing the magnitudeof a perpendicular from the head of the test vector to a line coincidentwith the reference vector; h. comparing the magnitude of theperpendicular with the magnitude of the predetermined tolerance; i.iterating steps (d) through (h) and selecting a final successive datapoint having a corresponding magnitude of the perpendicular closest tobut less than the magnitude of the predetermined tolerance; j. operatingthe peripheral device to permanently store the final successive datapoint thereby defining a successive linear segment from an end point ofthe previously defined linear segment to the final successive datapoint; and k. iterating steps (d) through (j) to generate the pluralityof data points defining linear segments approx-imating the curvature ofthree dimensional surface within the predetermined tolerance.